権限管理

このセクション:

権限管理について

権限管理を利用することで、エンタープライズの IT 部門では、ユーザごと、グループごと、アプリケーションごと、またはビジネス ルールごとにアクセス制御権限を減らせます。 ユーザに持たせる権限を、それぞれのジョブの遂行や必要なアプリケーションおよびコントロールへのアクセスに必要な権限に限定し、それ以外の権限は持たせないようにすることで、デスクトップの安定性を確保し、セキュリティと生産性を向上させることができます。

権限管理では、ユーザが行った処理への応答としてオンデマンドでユーザの権限を管理することにより、アプリケーションやタスクへのアクセスが動的に管理されます。 たとえば、標準ユーザの権限を管理者レベルの権限に昇格するか、管理者の権限を標準ユーザ アカウントの権限に降格するかのいずれかによって、特定のユーザまたはユーザ グループについては管理者権限を特定のアプリケーションまたは特定のコントロール パネル コンポーネントに適用できます。

権限管理を利用することで、ルールセットに関連付けできる再利用可能な権限管理ポリシーを作成できます。また、再利用可能な権限管理ポリシーを利用することで、ファイル、フォルダ、ドライブ、ファイル ハッシュ、およびオペレーティング システム固有のサポートされているコントロール パネル コンポーネントへのアクセスを昇格させる、または制限することができます。

権限管理を利用することで、最小限の権限という原則を適用できます。 この原則で必要なことは、ユーザに対して、完全な管理者権限を与えることなく、ジョブを行うための最小限の権限を与えることです。 ユーザにとってのエクスペリエンスはシームレスです。

管理者権限を必要とする共通タスク

ロールを果たすために、ユーザは、管理者権限が必要な数多くのタスクを実行することが必要になる場合があります。 このようなタスクの実行を可能にするには、ソリューションを提供する必要があります。提供しないと、ユーザはこのような特定のタスクを遂行せずに自分のロールを果たさなければなりません。 こうしたタスクとは、たとえば次のようなタスクです。

  • プリンタのインストール
  • 特定のハードウェアの設置
  • 特定のアプリケーションのインストール
  • 管理権限を必要とするアプリケーションの操作
  • システム時刻の変更
  • レガシー アプリケーションの実行

権限管理を利用して、特定の管理権限を持つようにユーザを昇格することで、こうしたタスクをユーザが実行できるようになります。

権限管理 対 別のユーザとして実行

多くのユーザ、特にナレッジ ワーカは、「別のユーザとして実行」コマンドを使用してアプリケーションを実行します。 ユーザは、最小権限を稼働させて日常タスクを実行できますが、必要に応じて、「別のユーザとして実行」コマンドを使用して認証資格情報を昇格させ、そうすることで別のユーザのコンテキストでタスクを実行することもできます。 しかし、そのためには、ユーザは2つのアカウント (最小権限用と昇格用) を持つことが必要になります。

「別のユーザとして実行」を使用する場合の共通の問題は、組織全体にわたり管理パスワードが既知のものとなることを許すことです。 たとえば、ユーザが「別のユーザとして実行」コマンドを使用してコンピュータの不具合を修正できるように、管理者がユーザに管理パスワードを知らせる場合があります。 残念ながら、一般にこのパスワードはユーザの手から手に渡り、思いがけないセキュリティ リスクにつながります。

「別のユーザとして実行」のもう1つの問題は、ソフトウェアが実際にどのようにこのコマンドと対話するかにあります。 「別のユーザとして実行」は、アプリケーションやプロセスを別のユーザのコンテキストで実行します。 したがって、このアプリケーションまたはプロセスは、レジストリ内の正しい HKEY_CURRENT_USER 集合を利用できません。

この集合は、すべてのプロファイル データが保存される場所であり、保護された領域です。 そのため、別のユーザのコンテキストで実行されるこのアプリケーションまたはプロセスは、ソースに対する読み書きを行えず、一部のアプリケーションが機能しない原因になります。 別のユーザのコンテキストで実行すれば、ネットワーク共有に対する読み書きの不具合を生じさせる原因にもなりえます。 これは、ネットワーク共有が、実行されているコンテキスト下のアカウントに基づいているためです。 そのため、ユーザのローカル アカウントと「別のユーザとして実行」アカウントとでは、リソース利用の可否に違いがある場合があります。

「別のユーザとして実行」と UAC

一部のオペレーティング システムには、ユーザが管理権限なしでアプリケーションやプロセスを実行できるようにする機能があります。 それが、「別のユーザとして実行」コマンドとユーザ アカウント制御 (UAC) です。

これらの機能は、ユーザが管理者権限なしに実行できるようにするためのものですが、それでも管理タスクを実行するためには、ユーザが管理者アカウントにアクセスできることが要求されます。 残念ながら、こうした制限があるということは、つまり、これらの機能は管理者に適したものだということです。 標準ユーザとしてログオンしたユーザが、管理者アカウントを使用して管理タスクのみを実行できるようにするためのものです。

ユーザは、「別のユーザとして実行」や UAC を使用するには、ローカル管理者の認証資格情報を入力する必要があるため、多数の懸念事項が生じます。 例:

  • 管理者アカウントにアクセスできるユーザには、これらの権限を誤用しないという信頼があることが必要です。
  • 管理者権限で実行されるアプリケーションが、別のユーザのコンテキストで実行されることになります。 これは、たとえば、「権限管理 対 別のユーザとして実行」というセクションで述べられているように、これらの特定のアプリケーションが実際のユーザのプロファイルやネットワーク共有にアクセスできないという問題を引き起こす可能性があります。 [別のユーザとして実行] セクション。
  • パスワードが2つ必要です。 標準アカウント用に1つと、管理者アカウント用に1つです。 ユーザは両方を覚えていなければなりません。 アカウント1つに求められるセキュリティだけでも課題が多いのに、アカウント2つとなればなお一層です。

技術

Microsoft Windows のコンピューティング環境では、アプリケーション起動プロセスの一部として、実行要求が出されたときに、アプリケーションがアプリケーション起動承認プロセスの一部としてセキュリティ トークンを要求します。. このトークンには、そのアプリケーションに付与されている権利と権限の詳細が書かれていて、これらの権利を使用することでオペレーティング システムまたはその他のアプリケーションと対話できます。

アプリケーションを管理するように権限管理が構成されていると、要求されるセキュリティ トークンが、昇格された権限または制限された権限を持つように動的に変更されます。こうすることで、アプリケーションの実行またはブロックが可能になります。

  1. ユーザ権利管理のメカニズムは、プロセス起動要求を次のように処理します。
    • 構成ルールにユーザ権限ポリシーを定義し、アプリケーションまたはコンポーネントに適用します。
    • アプリケーション リストに含めることができるのは、ファイル、フォルダ、署名、アプリケーション グループなどです。
  2. コンポーネント リストに含めることができるのは、コントロール パネル コンポーネントです。
  3. アプリケーションまたはその他の実行ファイルが起動されることでプロセスが作成されると、Application Control フックはプロセスをインターセプトし、Application Control エージェントに対して、プロセスの実行に必要なのが昇格された権利なのか制限された権利なのかを照会します。
  4. エージェントは、構成により割り当てられるのが昇格された権利なのか制限された権利なのかを確認します。また、必要であれば、エージェントは Windows ローカル セキュリティ機関 (LSA) からの変更後のユーザ トークンを要求します。
  5. フックは、必要な権限を収集する Windows LSA から変更後のユーザ トークンを受け取ります。 それ以外の場合は、通常のユーザ権利の定義に従って、既存のユーザ トークンを使用してプロセスが実行されます。

権限管理の利点

権限管理には、主に次のような利点があります。

  • アプリケーションを実行するためのユーザの権限の昇格 - 権限管理を使用して、管理者の認証資格情報で実行されるべきアプリケーションを指定します。 ユーザは、管理者としての認証資格情報を持っていませんが、アプリケーションを実行できます。
  • コントロール パネル アプレットを実行するためのユーザの権限の昇格 - ローミング ユーザの多くは、管理者権限を必要とするさまざまなタスクを実行する必要があります。 たとえば、プリンタのインストール、ネットワークとファイアウォールの設定の変更、日時の変更、プログラムの追加と削除などです。 こうしたタスクでは、特定のコンポーネントを管理者として実行することが要求されます。 管理者ではない標準のユーザがこうした変更を行って自分のロールを果たせるように、権限管理を使用して、個々のコンポーネントに対する権限を昇格させます。
  • アプリケーションの権限を制限するための権限の降格 - 既定では、ユーザは特定の管理用認証資格情報を持っていますが、特定のアプリケーションを非管理者として実行するように強制されます。 特定のアプリケーション、たとえば Internet Explorer を管理者として実行することで、ユーザは、望ましくない数多くの設定を変更する、アプリケーションをインストールする、潜在的にデスクトップをインターネットに対して解放する、といったことを行えます。 権限管理を使用して、管理者レベルのユーザが、たとえば Internet Explorer を標準ユーザ モードで実行するように制限することで、デスクトップの安全を守ります。
  • システム設定へのアクセスを制限するための権限の降格 - 権限管理を使用して、管理ユーザが変更すべきでない設定 (ファイアウォールや特定のサービスなど) を変更できないようにする能力を、より高いレベルのシステム管理者に対して与えます。 権限管理を使用して、特定のプロセスに対する管理権限を降格させます。 ユーザに管理権限があるにしても、環境の制御はシステム管理者が保持します。

関連トピック

構成設定 > 権限管理

ルールセットの権限管理

ルール コレクション